package com.zeei.ems.base.util;

import java.math.BigDecimal;

/**
 * @类型名称：BigDecimalUtil
 * @类型描述：BigDecimal工具类
 * @功能描述：提供大数据的转换
 * @创建作者：lw
 */
public class BigDecimalUtil {

    private BigDecimalUtil() {

    }

    /**
     * 方法描述：将String转换成BigDecimal
     *
     * @param str
     * @return
     * @throws Exception
     */
    public static BigDecimal toBigDecimal(String str) {
        return new BigDecimal(str);
    }

    /**
     * 保留数字的两位小数 如果是整数，后面会加上两个0的小数位
     *
     * @param d
     * @return String
     */
    public static String getTwoDecimal(double d) {
        String str = String.valueOf(d);
        String[] strs = str.split("\\.");
        if (strs[1].length() < 2) {
            str = str + "0";
        } else if (strs[1].length() > 2) {
            str = str.substring(0, str.indexOf('.') + 3);
        }
        return str;
    }

    /**
     * 保留数字的两位小数 如果是整数，后面会加上两个0的小数位
     *
     * @param d
     * @return String
     */
    public static String getDecimal(double d, int num) {
        String str = String.valueOf(d);
        String[] strs = str.split("\\.");
        if (strs[1].length() < num) {
            str = str + "0";
        } else if (strs[1].length() > 2) {
            str = str.substring(0, str.indexOf('.') + (num + 1));
        }

        return str;
    }
}
